perm filename PUBSUM.LES[UP,DOC]1 blob
sn#020249 filedate 1973-01-14 generic text, type T, neo UTF8
1973 January 10 PUB REFERENCE SUMMARY L. Earnest
Initial Conditions
.DEVICE LPT; PAGE FRAME 53 HIGH 69 WIDE; AREA TEXT LINES 4 TO 51
.TITLE AREA HEADING LINES 1 TO 3; TITLE AREA FOOTING LINE 53
.NOFILL PREFACE 0; FILL PREFACE 1; SINGLE SPACE
.ADJUST RETAIN TABSPACE CRSPACE APART WIDEN INDENT 0,0,0
.AT NULL ⊂ IF FILLING THEN BREAK ELSE SKIP 1 ⊃
.TURN ON ".!?-"; TURN OFF "αβπ#{\∂←→∞_∪↓↑&"
.COUNT PAGE
.YEAR ← <current year>; MONTH ← <current month>; DAY ← <current day>
.TIME ← <current time>; DATE ← MONTH & " " & DAY & ", " & YEAR
Areas Page
.PAGE FRAME <e> HIGH <e> WIDE defines page size 52
.[ TEXT | TITLE ] AREA <name> [ LINE[S] <e> [ TO <e> ]]
. [ CHAR[S] <e> [ TO <e> ]] [ IN <e> COLUMNS <e> WIDE | APART ]
declares an area 37
.PLACE <area name> begins output to area 39
.EVERY | EVEN | ODD HEADING | FOOTING (<text>,<text>,<text>)
standard heading/footing 46
Portions
.PORTION <name> starts new portion 47
.INSERT <portion name> relocates portion here 47
.SEND <portion name> [;] <template> sends text 48
.RECEIVE receives text for portion 49
Footnotes
.SEND FOOT [;] <template> sends footnote 63
where <template> → ⊂ <piece of program with each ∃ or
unpaired ⊂ or ⊃ preceded by ∃ > ⊃
Counters
.COUNT <name> [ INLINE ][ FROM <e> ][ TO <e> ][ BY <e> ]
. [ IN <counter name> ] [ PRINTING <e> | <template> ]
declare counter 41
.NEXT <counter name> step counter 43
Vertical Position
.[GROUP] SKIP <se> skip lines 51
.SKIP TO LINE <e> skip to line 51
.SKIP TO COLUMN <e> skip to column 51
.SINGLE | DOUBLE | TRIPLE SPACE interline spacing 37
.PREFACE <e> interparagraph spacing 36
.GROUP .... APART group lines on same page 15
Justification Page
.VERBATIM | FILL | NOFILL | CENTER | FLUSH LEFT | FLUSH RIGHT |
. JUSTJUST | SUPERIMPOSE <e> select justification mode 13-15
.TURN ON | OFF "<string>" turn control characters on/off 20
.TURN ON "<char>" FOR "<char>" substitute one char. for another 20
.TURN OFF turn off the last things turned on 20
When not in VERBATIM mode (see pages 17-19):
α quote \ tab ↓_ underbar (in form ↓_..._↓)
β word break ∂ move ∪ one-word underbar
π print funny ← center ↓ subscript
# sneaky space → right flush ↑ superscript
{ start ∞ repeat & align
command
.COMPACT | RETAIN redundant space control 15
.BREAK | CONTINUE end of paragraph 52
.TABBREAK | TABSPACE may break on initial tab 14
.CRBREAK | CRSPACE may break on each line 14
.WIDEN | NARROW <e> [, <e>] reset or set margins 38
.TABS <e> [, <e> .... ] sets tab stops 35
PREFACE <e> skip <e> lines before paragraph 36
When in FILL, NOFILL, JUSTJUST, or SUPERIMPOSE modes:
.INDENT <e> [, <e> [, <e>]] select indentation 35
When in FILL mode:
.!? end of sentance - hyphen 17
.ADJUST | NOJUST justify or not 13
Macros
.[ RECURSIVE ] MACRO <name> [<formal parameters>] [;] <template>
macro declaration 25
where <formal parameters> → ( [ε]<identifier>, ...)
.<macro name> [(][ <param> [, <param>] ... [)] ] macro call 25
where <param> → "<string in one line with quotes doubled>"
→ |<string in which no vertical bar appears>|
→ <string on one line not starting with " or | and
containing no , or )>
Responses
AT "<string>" [<parameter scan>] <template> text response 60
where <parameter scan> → <name> "<string>" <name> "<string>" ...
AT <integer> | PAGEMARK | NULL [;] <template> text response 60
BEFORE | AFTER <counter name> | <area name> [;] <template>
transition response 61
Labels Page
.<label>: [NEXT] <counter id> labelled counter 57
.<label>: <e> labelled expression 57
.<label>: } <text line> text label 57
{ [<e>] <label id>} | {<counter id>[!] <label>} |
{ "<counter id>[!]" <label id> } cross-reference 56
Control
.......} change to text mode 20
.COMMAND CHARACTER "<char>" change command character 12
.REQUIRE "<file name>" SOURCE_FILE insert file here 51
.DEVICE LPT | MIC | TTY output device 53
.COMMENT <anything but semicolon> ; comment 55
.<<anything but 2 greater-thans in a row>> another comment 55
Program Structure
.BEGIN [<n>] <s>; <s>; ... END [<n>] block - modes are local 33
.ONCE <s>; <s>; ... one-paragraph block 34
.START [<n>] <s>; <s>; ... END [<n>] clump - modes continue 33
.IF <e> THEN <s> [ ELSE <s> ] conditional statement 43
.<name> ← <e> assignment statement 43
{<e>} computed text 21
Expressions
.VARIABLE <name> [, <name> ... ] local variable declaration 28
<constant> → "<string with quotes doubled>" 31
→ <string of decimal digits>
→ '<string of octal digits>
Expressions are formed with the following operator precedence: 30
( )
[ ]
unary + - ABS LENGTH ↑ (the ↑ capitalizes its operand)
* / DIV MOD & (19 & 76 makes 1976)
binary + - EQV ≡ XOR ⊗
MAX MIN
EVEN ODD
> < = LEQ ≤ GEQ ≥ NEQ ≠ (= and ≠ compare strings)
¬ NOT
∧ AND
∨ OR
<assignment expression> → <var. name> ← <e>
<conditional expression> → IF <e> THEN <se> ELSE <e>
<substring expression> → <val>[<e> TO <e>]
→ <val>[<e> FOR <e>]
→ <val>[<e>] (same as [<e> FOR 1])
where <val> → <variable name>
→ <constant>
Read-only Variables
CHAR number of characters so far in output line
LINE number of the last line output (0 at beginning of column)
COLUMN number of last column to which output went (0 if fresh page)
CHARS number of character positions remaining on current line
LINES number of unused lines in current column
COLUMNS number of unused columns on current page
TOPLINE line number that starts the current area
FILLING 0 if not in FILL mode, 1 if in ADJUST, -1 if NOJUST
NULL empty string
TRUE -1
FALSE 0
Read-write Variables
DATE, TIME, YEAR, MONTH, DAY initialized to date/time of compilation
FILE name of your first manuscript file
FOOTSEP prints above the first footnote in each column (initially NULL)
INDENT1, INDENT2, INDENT3 control paragraph indentation (see page 36)
LMARG, RMARG left and right margins (see page 39)
PAGE current page number
_SKIP_ peculiar SAIL variable
SPREAD number of blank lines between successive output lines